﻿Imports DataAcessLayer

Partial Public Class WebForm2
    Inherits System.Web.UI.Page

    Dim DAL As New DAL
    Private Shared intIDUser As Integer
    Private Shared flag As Boolean

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Message.Visivel = False
        lblAccAlterar.Text = "Criar Utilizador"

        If Not Page.IsPostBack Then

            Preenchimento()

        End If

    End Sub

    Protected Sub Preenchimento()
        gvUsers.DataSource = DAL.ObterTodosUsers
        gvUsers.DataBind()
    End Sub

    Protected Sub gvUsers_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvUsers.RowCommand

        If e.CommandName = "Editar" Then

            lblAccAlterar.Text = "Editar Utilizador"
            Dim user = DAL.ObterDadosUserPorID(e.CommandArgument).FirstOrDefault
            txtLogin.Text = user.UserLogin
            txtNome.Text = user.NomeUtilizador
            txtPass.Text = user.Password
            intIDUser = e.CommandArgument
            flag = True
            Accordion1.SelectedIndex = 0

        ElseIf e.CommandName = "Apagar" Then

            If DAL.ApagarUtilizador(e.CommandArgument) Then
                Message.FeedbackUserMessage("Utilizador apagado com Sucesso!", TipoMensagem.Sucesso)
            Else
                Message.FeedbackUserMessage("Ocorreu um erro a remover!", TipoMensagem.Erro)
            End If

            flag = False

            Preenchimento()
        End If

    End Sub

    Protected Sub lnkGravar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkGravar.Click

        If flag Then

            If DAL.AlterarDadosUser(intIDUser, txtLogin.Text, txtNome.Text, txtPass.Text) Then

                Message.FeedbackUserMessage("Utilizador Alterado com Sucesso!", TipoMensagem.Sucesso)
            Else
                Message.FeedbackUserMessage("Ocorreu um erro na alteração!", TipoMensagem.Erro)
            End If

        Else

            If DAL.InserirUtilizador(txtLogin.Text, txtNome.Text, txtPass.Text) Then

                Dim user = DAL.ObterUserIDPorNome(txtNome.Text).FirstOrDefault

                If DAL.InserirJogador(user.IDUser) Then

                    Message.FeedbackUserMessage("Utilizador criado com Sucesso!", TipoMensagem.Sucesso)

                Else
                    Message.FeedbackUserMessage("Ocorreu um erro ao inserir o Jogador!", TipoMensagem.Erro)
                End If

            Else
                Message.FeedbackUserMessage("Ocorreu um erro ao criar o Utilizador!", TipoMensagem.Erro)
            End If
        End If
        flag = False
        Preenchimento()
    End Sub

    Protected Sub lnkCancelar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkCancelar.Click
        lblAccAlterar.Text = "Criar Utilizador"
        txtLogin.Text = ""
        txtNome.Text = ""
        txtPass.Text = ""
        flag = False
        Accordion1.SelectedIndex = 1
    End Sub
 
End Class